1. Field of the Invention
This invention relates generally to intelligent backup systems and, more particularly, to methods and apparatus for intelligently backing up selected data from a host computer""s main storage drive to prevent loss of data or user productivity.
2. Description of the Related Art
In recent years, personal computers have become an integral necessity in both the work and home environment. For many people, personal computers have become their main communication system, which can be used for sending and receiving electronic mail (i.e., e-mail), transferring files over a local area network (LAN), and communicating over the world wide web via the Internet. Because people have placed such a high level of dependence on their personal computers, when a failure (i.e., crash) to either a hardware or software component occurs, the user will generally suffer greatly in terms of productivity loss.
Many times, failures to either hardware or software components can lead to the complete loss of personal data, which often cannot be recovered using standard data recovery tools. In efforts to remedy the severity of such data loss, many people perform routine backups of their entire hard drives or files. In this manner, if an unrecoverable failure were to occur, then the user would lose only the data that was created between the last backup operation and the unrecoverable failure.
Unfortunately, relying on periodic backups of a computer""s storage drives (i.e., hard drives) does not eliminate the loss in productivity suffered while the failure is being attended to, and the need to reconstruct all of the lost data that was created between the last backup and the failure. To further complicate the reconstruction process, most of today""s computer software products have to be installed using complex installation software that is designed to place each component of the software product in the correct system folder location, registry file, startup file, etc., to preserve proper functionality with the computer""s operating system. As a result, even though the entire contents of a backup can be retrieved from the backup media, the restoring of a subsequently repaired storage drive will require a substantial amount of reconstruction.
Although the restoration of failed storage devices can sometimes be a trivial process when only a minor number of programs are re-installed onto the failed computer system, most of today""s computer systems use a wide number of programs, each requiring custom installation for proper operation. Furthermore, because most computer users purchase, update, and modify computer programs over the Internet, it is often impossible to reconstruct the original state of all programs, patches, or executables that are loaded onto a computer without keeping detailed logs of where each component was acquired. As a result, when attempts to reconstruct a user""s computer system are made, many of the originally installed software programs or components may not be installed because they are no longer available or supported by the original supplier.
Notwithstanding that most failures that are a result of a hardware malfunction or a software problem can be fixed, either by complete replacement or by performing repairs, users still experience data losses that produce harsh penalties in productivity or require significant down time. That is, even if users systematically backup their system regularly, some amount of data will be lost between the time of the last backup and the subsequent restoration. In certain circumstances, even if only a small amount of data is lost, that small amount may translate into many hours of reconstruction time. Furthermore, if the lost data was a time sensitive piece of data, then reconstruction over many hours or days may not be acceptable.
In view of the foregoing, there is a need for an intelligent backup system and method for implementing the system to protect data of a computer""s storage drive in case a system failure occurs. There is also a need for a system and a method for implementing the system that will enable a user to continue working from the intelligently backed-up data after a system failure occurs, and then restore the failed system after the system failure is intelligently identified and repaired.
Broadly speaking, the present invention fills these needs by providing an intelligent backup and restore system that prevents downtime productivity losses, and assists the user in trouble shooting the failure, repairing the failure if possible, and restoring the failed system back to its pre-failure condition. All of these functionalities are provided to the user through a user friendly graphical user interface that helps the user resume his or her normal computer use by booting to a peripheral storage device (that holds an intelligently backup data set) while the failure is remedied. It should be appreciated that the present invention can be implemented in numerous ways, including as a process, an apparatus, a system, a device, a method, or a computer readable medium. Several inventive embodiments of the present invention are described below.
In one aspect of the invention, a method for generating a database of data resident on a primary storage device of a computer system for use in a backup system associated with the computer system is provided. In this method, a database having information associated with data resident on the primary storage device of the computer system is first generated. A graphical user interface is then generated to display the information in the database. The displayed information is preferably configured to be selected by a user to define a backup set of data that is available to be copied from the primary storage device of the computer system to a secondary storage device connected to the computer system. In one embodiment, the method further includes the operation of setting a flag to designate selected portions of the database. In this embodiment, the selected portions of the database are then written to the primary storage device of the computer system.
The information associated with data resident on the primary storage device preferably includes a list of programs installed on the primary storage device and a list of logical hard drives together with all files on the logical hard drives. In one embodiment, the graphical user interface is configured to display a first view including the list of programs installed on the primary storage device and a second view including the list of logical hard drives together with the files on the logical hard drives. In this embodiment, the graphical user interface may further include a capacity monitor that displays the disk space occupied by selected portions of the database.
If desired, the graphical user interface may be configured to display a dialog box including a first radio button that selects a minimal backup set of data and a second radio button that selects a maximal backup set of data. In this embodiment, the minimal backup set of data includes information associated with an operating system and information required for booting the operating system and the maximal backup set of data includes all files on the primary storage device. The secondary storage device connected to the computer system is preferably a hard drive or a removable media drive.
In another aspect of the invention, a computer readable media is provided. In one embodiment, the computer readable media contains program instructions implementing the above-described method for generating a database of data resident on a primary storage device of a computer system for use in a backup system associated with the computer system. Thus, in this embodiment the computer readable media contains program instructions for (1) generating a database having information associated with data resident on a primary storage device of the computer system, and (2) generating a graphical user interface to display the information in the database, the information being configured to be selected by a user to define a backup set of data that is available to be copied from the primary storage device of the computer system to a secondary storage device connected to the computer system. In another embodiment, the computer readable media also contains program instructions for setting a flag to designate selected portions of the database, and program instructions for writing the selected portions of the database to the primary storage device of the computer system.
The backup and restore system of the present invention is advantageously designed to intelligently protect a user""s data and productivity upon experiencing a hard disk failure. In one embodiment, once the backup and restore system is installed and setup, the backup operations are performed in an incremental fashion (e.g., after the initial full backup, only those files that have changed from one backup to another will be backed up) to a peripheral storage device media. It should be appreciated that this incremental backup technique provides a powerful level of performance enhancement over conventional backup systems.
Another advantage of the intelligent backup and restore system of the present invention is that it substantially eliminates the tremendous downtime that is typical of when a hard disk crash is experienced and no backup or simple conventional backup techniques are used. As a result, user productivity will no longer suffer when hard disk failures occur. In addition, the embodiments of the present invention also assist the user in attempting to repair the crashed hard disk. However, if the crashed hard disk is not repairable, the system will automatically detect when a new hard disk is added to the user""s system, and then assists in partitioning and formatting the hard disk for the user. When a new hard disk is prepared or the old hard disk is repaired, the system will restore the operating system and data files to their current state as now present on the peripheral storage device media. Upon re-booting, the newly restored hard disk will once again become the boot device. Another advantage of the present invention is that the peripheral storage device media does not have to be identical to that of the system""s hard drive. More specifically, even though most computer systems implement IDE/EIDE hard drives, the peripheral storage device (that is internal or external) does not have to be an IDE/EIDE drive. Although they can be the same, they may be of any type, standard, or size other than that of the computer system. Further yet, because the peripheral storage device media may be of a different kind and size than that of the computer system, when the spare tire backup is created, a file-based copying operation is advantageously implemented.
Other aspects and advantages of the invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.